A database may be accessed by people who speak various different languages. Business is often conducted across national boundaries and language boundaries. Data may be shared among different participants in the business, so the same underlying data may be accessed by people in different countries who speak different languages.
One or more language packs may be installed for a given computer or application. These language packs generally contain the words, in a particular language, for certain actions or objects. For example, an E-mail program might display a line that contains the subject of an e-mail message. When displaying the subject line, the program may display a label for this line, where the particular label that is shown depends on the language in which the person using the program wants to receive the information. The language pack provides the appropriate word for the label. Thus, for such an E-mail program, the English language pack may indicate that the subject field is to be labeled “subject”; the French and Spanish language packs for the same program may indicate that the same field is to be labeled “sujet” and “sujeto”, respectively. Similarly, language packs may be used with databases. For example, “invoice” and “factura” are the English and Spanish words, respectively, for the same accounting concept. Thus, a given field in an accounting database might be labeled “invoice” in English and “factura” in Spanish.
When a database provides data to a client application, the database may provide labels for the data in a symbolic form. For example, the database may indicate that a particular column of data is of type “1”. There may be language information available to the client indicating what the number “1” means in different language—e.g., that “1” means “invoice” in English, “factura” in Spanish, etc. The client may allow a user to switch between different languages, or may be able to use a default language choice that has been pre-specified. However, in this scenario the database does not serve content in a user's chosen language. Normally, the database is not aware of the user's chosen language. Thus, the database serves content in symbolic form, and it is the client that converts the symbolic information into a language.